package com.woniu.cloud.shopassembly.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.woniu.cloud.common.dto.Result;
import com.woniu.cloud.entity.TStoreGood;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;

import java.util.List;

/**
 * <p>
 * 店铺商品表 服务类
 * </p>
 *
 * @author hyy
 * @since 2021-09-22
 */
public interface ITStoreGoodService extends IService<TStoreGood> {



    @CachePut(cacheNames = "cachestoregood:id",key="#storeGoodId")
    TStoreGood updateRedis(Integer storeGoodId);

    @Cacheable(cacheNames = "cachestoregood:id",key="#storeGoodId")
    TStoreGood insertRedis(Integer storeGoodId);



    TStoreGood getStoreGoodByStoreGoodId(Integer storeGoodId);


    TStoreGood getStoreGoodByStoreGoodId(Integer storeGoodId,Integer storeGoodGoodId);

    Result getStoreGoodByGoodName(String storeGoodName, Integer pageIndex);

    Result getStoreGoodByStoreGoodType(String storeGoodType, Integer pageIndex);

    Result getStoreGoodTypeList();

    Result insertGood(TStoreGood good);

    Result updateStoreGood(TStoreGood good);

    Result updateStoreGoodNumByStoreGoodId(Integer storeGoodId, Integer storeGoodNum);

    Result updateStoreGoodSellNumByStoreGoodId(Integer storeGoodId, Integer storeGoodSellNum);

    @CacheEvict(cacheNames = "cachestoregood:id",key = "#storeGoodId")
    Result deleteStoreGoodByStoreGoodId(Integer storeGoodId);
}
